1. Technical Field
The present invention relates in general to application interfaces which convey information to users via data-processing systems. The present invention also relates to graphical user interface applications which display within such data-processing systems, user-interactive objects associated with particular functions and tasks. More particularly, the present invention relates to methods and systems that allow application developers to readily and efficiently modify application interface functions and tasks. Still more particularly, the present invention relates to a method and system for providing a replaceable application interface at the user task level.
2. Description of the Related Art
In the computer arts, an application interface is a type of algorithm or program that enables a program to operate with a user, another program such as an operating system, or with computer hardware. Such application or user interfaces can be command-line driven, menu-driven, or based on a graphical user interface. A graphical user interface is a type of display format which enables a user to choose commands, start programs, and see lists of files, objects and other options by pointing to pictorial representations and lists of menu items on a computer display screen. Choices can generally be activated by either a keyboard or a pointing device such as a mouse. A mouse is a commonly utilized pointing device, containing one or more buttons, that allows a user to interact with a product or operating environment through an associated graphical user interface.
Some conventional graphical user interfaces provide a cursor and scroll bar for scrolling through portions of a viewable object. A viewable object is an object that is the focus of a user's attention. A viewable object can contain multiple components such as spreadsheets, text, hotlinks, pictures sound, and video objects. However, a viewable object is not limited to these components. In many types of graphical user interfaces, a vertical or horizontal bar at the side or bottom of a graphical user interface window can be utilized in conjunction with a pointing device such as a mouse, trackball, or stylus to move about in a viewable object. Scrolling permits viewing of any desired portion of a viewable object and is so named because it is the electronic equivalent of reading through a rolled (i.e., scrolled) viewable object rather than flipping through pages of a book. A vertical scroll bar is usually utilized to control up and down movement (e.g., through lines and pages of a viewable object), while a horizontal scroll bar controls movement across a viewable object.
A typical graphical user interface usually includes some sort of a menu arrangement. A menu in a graphical user interface is typically composed of a list of options from which a user can select in order to perform a desired action, such as choosing a command or applying a particular format to part of a document. A graphical user interface thus utilizes menus to provide users with an easily learned, easy-to-use alternative to memorizing program commands and their appropriate usage. Without such a menu, a user is forced to memorize such program commands and their appropriate usage, or resort to textbooks or other literature or still other computer programs associated with the particular graphical user interface or program. Choosing from one menu can often lead a user to a second menu or to a dialog box or dialog containing options that further refine the original menu section.
In the computer industry, it is often desirable to modify user interfaces such as graphical user interfaces to adapt to varying technology. For example, there is a continuing need to "touch enable" subsets of user tasks in existing interface applications. This requires modifying or completely replacing user interfaces of those tasks. Since touch screens utilize larger controls, the "touch versions" of each task generally require more screens than the corresponding graphical user interface version. The user task itself will not be altered in most cases. However, the interfaces must be changed to support the unique requirements for touch.
Problems are often encountered during the development and marketing of graphical user interface applications in which feedback may be utilized to modify functions associated with the graphical user interface. Customer feedback typically results in queries such as "can you alter the way in which thus function behaves," or "the interface for this function would be better if . . . " and "can you add this widget to this function?" Many of these requests thus revolve around alterations to existing functions. Such alterations almost always result in alterations to the user interface (e.g., modifying the graphical user interface to a touch screen technology). In the touch screen example described above, the difficulties in modifying the graphical user interface require that only a subset of the user functions be enabled, although there is not always a one-to-one correspondence between existing screens and touch enabled screens.
From the foregoing, it can be appreciated that a need exists for a technology that would allow interface developers to easily and efficiently modify a subset of user interface functions and tasks without modifying the entire user interface. Such a need is addressed by the disclosure presented and described herein.